import re
import csv
 
def extract_info_and_write_to_csv(file_path, output_csv_path):
        # 读取文件内容
    with open(file_path, 'r', encoding='utf-8') as file:
        text = file.read()
    # 定义正则表达式模式
    pattern = re.compile(
        r'========(.*?) 1d策[\s\S]*?时间跨度: (.*?年) \(累计涨幅:(.*?)\)[\s\S]*?\(总收益: (.*?)%\)[\s\S]*?\(胜率: (.*?)%\)[\s\S]*?\(最大回撤: (.*?)%\)\n交易次数: (\d+)'
    )
 
    # 查找匹配项
    matches = pattern.findall(text)
 
    # 定义 CSV 文件的列名
    csv_columns = ['币种', '时间跨度', '累计涨幅 (%)', '策略表现 (%)', '胜率 (%)', '最大回撤 (%)', '交易次数']
 
    # 写入 CSV 文件
    with open(output_csv_path, mode='w', newline='', encoding='utf-8') as csv_file:
        writer = csv.writer(csv_file)
        writer.writerow(csv_columns)  # 写入列名
 
        for match in matches:
            # 写入匹配到的数据
            writer.writerow(match)
 
# 示例文本
sample_text = """
========StrategyA 1d策
时间跨度: 2年 (累计涨幅: 120%)
(总收益: 150%)
(胜率: 75%)
(最大回撤: 20%)
交易次数: 50
 
========StrategyB 1d策
时间跨度: 3年 (累计涨幅: 180%)
(总收益: 200%)
(胜率: 80%)
(最大回撤: 15%)
交易次数: 60
"""

# 输出 CSV 文件的路径
input_file_path  = 'D:\python\www\quant_trading\quant_trading/log/回测表现汇总3_info.log'
output_csv_path = 'strategy_results3.csv'
 
# 调用函数
extract_info_and_write_to_csv(input_file_path , output_csv_path)
 
print(f"信息已成功写入 {output_csv_path}")